In a typical digital music player, each song is stored in a digital format for playback. To do this, a song is digitally sampled to convert an audio wave generated by the song to a sequence of binary numbers that can be stored in a digital format, such as MP3. Such files are stored in computer memory, such as flash memory, hard disk drive, embedded processor, etc. An audio codec microchip converts the compressed file into an analog sound signal that is emitted from the player.
During playback, audio files are read from storage into a memory buffer, and then streamed through an audio codec microchip to produce decoded audio. Typically, audio formats decode at double to more than 20 times real speed using the device's processor, requiring the storage of the output from the audio codec microchip. This output is then fed through a digital-to-analog converter to play music. So that a user can hear the music playing, the players may have a 3.5 mm stereo jack to be used with earbuds or headphones, or played via an external amplifier and speakers. Many digital players also include a display and user selection buttons so that a user can select, play, rewind, etc., a song or set a play list.
In a typical digital music player, the songs played by the player are preloaded into the player or may be streamed from an online source (e.g., Pandora®). For example, the music may be downloaded to the digital music player from a computer or audio content provider, which normally requires the user to pay for the music. As such, the user may select to play a particular song stored in the digital music player using the user select buttons. This song may play only a single time or may be repeated continuously. Sometimes the user may construct a playlist of several songs downloaded or stored in the device memory. In such instances, the user may select to play the songs successively or randomly from the playlist. However, the playlist may only be constructed from songs downloaded into the device memory. Therefore, if the user grows tired of the songs and playlists stored in the device, the user must download additional songs to the device—which requires time and money.
If the music is streamed from the online source, the user may have no control over the song played by the online source. In some instances, however, the user may select the music genre, such as rock, classical, country, etc., or types of artists that the user likes. In such systems, if the user likes a song, but would like to listen to something else, the online source may also allow the user to skip the song currently playing from the playlist provided by the online source. However, many online sources limit the number of times a user can skip songs on the playlist. Thus, if the playlist from the online source includes several songs the user would like to skip, but cannot, the user may discontinue using the online source.
A need exists, therefore, for a system, method, and computer program product that solves the issues identified above.